package upc.jfactory.scp.form;

import com.icesoft.faces.component.ext.RowSelectorEvent;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;


import upc.jfactory.scp.bl.facade.OfertaEmpresaFacade;
import upc.jfactory.scp.bl.facade.PostulacionFacade;
import upc.jfactory.scp.entidad.PuestoOfertado;


/**
 *
 * @author Diego
 */
public class FormPostularOfertas {
    List<PuestoOfertado> ofertas = new ArrayList<PuestoOfertado>();
    private PuestoOfertado puesto = new PuestoOfertado();
    //para el popUp
    private Boolean isPopUpVisible;
    private Boolean isPopUp2Visible;
    private Boolean btnVisible;
    private String texto;
    //modo de visibilidad del boton y manejo del Popup
    private int modo;

    public FormPostularOfertas(){
          isPopUpVisible = false;
        isPopUp2Visible=false;
        texto="Esta seguro de postular a esta oferta?";
        modo=1;
    OfertaEmpresaFacade ofemprfachada= new OfertaEmpresaFacade();
    this.setOfertas(ofemprfachada.PuestosOfertados());
    
    }
 public void closePopup() {
        isPopUpVisible=false;
    }

    public void openPopup() {


         isPopUpVisible=true;
         btnVisible=true;

    }

      public void closePopup2() {
        isPopUp2Visible=false;
    }

    public void openPopup2() {

         isPopUp2Visible=true;
    }

    public Boolean getBtnVisible() {
        return btnVisible;
    }

    public void setBtnVisible(Boolean btnVisible) {
        this.btnVisible = btnVisible;
    }

    public Boolean getIsPopUp2Visible() {
        return isPopUp2Visible;
    }

    public void setIsPopUp2Visible(Boolean isPopUp2Visible) {
        this.isPopUp2Visible = isPopUp2Visible;
    }

    public Boolean getIsPopUpVisible() {
        return isPopUpVisible;
    }

    public void setIsPopUpVisible(Boolean isPopUpVisible) {
        this.isPopUpVisible = isPopUpVisible;
    }

    public int getModo() {
        return modo;
    }

    public void setModo(int modo) {
        this.modo = modo;
    }

    public String getTexto() {
        return texto;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }
    
public void setPostulanteSeleccionar(RowSelectorEvent ev){

        puesto = null;

        for (PuestoOfertado oferta : ofertas) {
            if(oferta.isSelected()==true)
            {
                puesto = oferta;
                System.out.println(puesto.getIdPuestoOfertado());
            }
        }}
    public List<PuestoOfertado> getOfertas() {
        return ofertas;
    }

    public void setOfertas(List<PuestoOfertado> ofertas) {
        this.ofertas = ofertas;
    }

    public PuestoOfertado getPuesto() {
        return puesto;
    }

    public void setPuesto(PuestoOfertado puesto) {
        this.puesto = puesto;
    }

  public String Aceptar(){
   PostulacionFacade postfachada= PostulacionFacade.getInstance();
   postfachada.crearPostulacion(puesto);
    texto = "Se postulo satisfactoriamente";
         modo=2;
         btnVisible=false;
    return "postular";

  }

       public String accionar(){

      FacesContext context = FacesContext.getCurrentInstance();
      modo=1;
      texto="Esta seguro de Postular a esta Oferta?";
      btnVisible=true;
      PostulacionFacade postulafachada = new PostulacionFacade();

      if(postulafachada.getnumPostulacionesxAlumnoxOfertaLaboral(puesto.getIdPuestoOfertado())>0){

                FacesMessage message = new FacesMessage();
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
                message.setSummary("Campo en blanco");
                message.setDetail("Los campos con (*) son requeridos");
                context.addMessage("formRegistrarRol:roleleccionado",message);
                texto= "Ya postulo a esta oferta";
                openPopup2();
        }else {
      openPopup();
        }
      
              return "postular";
   }

}
